package com.flute.haflute.jobbox.base;

/**
 * 集群对外的状态跟踪接口<br>
 * 如ClientJobTracker会跟踪作业的执行情况，知道作业执行结束
 */
public interface StatusReporter {
	/**
	 * 作业状态的列表
	 */
	public enum JOB_STATUS{
		UNKOWN, INIT, RUNNING, PAUSE, FINISHED,FAILED,USER_ABORTED
	}
	/**
	 * 当前作业状态的描述
	 * @return
	 */
	public String getStatusDesc();

	/**
	 * 设置作业的描述，集群后台进程通过该入口通报集群状况
	 * @param status 状态
	 * @param statusDesc 状态的描述
	 */
	public void setStatus(JOB_STATUS status, String statusDesc);
}
